document.addEventListener('DOMContentLoaded', function() {
    // 获取DOM元素
    const chatMessages = document.getElementById('chat-messages');
    const userInput = document.getElementById('user-input');
    const sendBtn = document.getElementById('send-btn');
    const clearHistoryBtn = document.getElementById('clear-history');
    
    // 添加发送按钮点击事件
    sendBtn.addEventListener('click', sendMessage);
    
    // 添加回车键发送功能
    userInput.addEventListener('keypress', function(e) {
        if (e.key === 'Enter') {
            sendMessage();
        }
    });
    
    // 添加清空历史记录按钮点击事件
    clearHistoryBtn.addEventListener('click', clearHistory);
    
    // 发送消息函数
    function sendMessage() {
        const message = userInput.value.trim();
        
        if (message === '') {
            return;
        }
        
        // 在聊天窗口中显示用户消息
        appendMessage('user', message);
        
        // 清空输入框
        userInput.value = '';
        
        // 模拟思考延迟
        appendMessage('bot', '正在思考...', 'thinking');
        
        // 发送请求到服务器获取回复
        fetch('/chat', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({ message: message })
        })
        .then(response => response.json())
        .then(data => {
            // 移除思考中的消息
            const thinkingMessage = document.querySelector('.bot-message.thinking');
            if (thinkingMessage) {
                thinkingMessage.remove();
            }
            
            // 显示机器人回复
            appendMessage('bot', data.response);
        })
        .catch(error => {
            console.error('Error:', error);
            
            // 移除思考中的消息
            const thinkingMessage = document.querySelector('.bot-message.thinking');
            if (thinkingMessage) {
                thinkingMessage.remove();
            }
            
            // 显示错误消息
            appendMessage('bot', '抱歉，我现在无法回答你的问题，请稍后再试。');
        });
    }
    
    // 添加消息到聊天窗口
    function appendMessage(sender, content, className = '') {
        const messageDiv = document.createElement('div');
        messageDiv.className = `${sender}-message ${className}`;
        
        const contentDiv = document.createElement('div');
        contentDiv.className = 'message-content';
        contentDiv.textContent = content;
        
        messageDiv.appendChild(contentDiv);
        chatMessages.appendChild(messageDiv);
        
        // 滚动到底部
        chatMessages.scrollTop = chatMessages.scrollHeight;
    }
    
    // 清空历史记录
    function clearHistory() {
        if (confirm('确定要清空所有聊天记录吗？')) {
            // 发送请求到服务器清空历史记录
            fetch('/clear_history', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                }
            })
            .then(response => response.json())
            .then(data => {
                // 清空聊天窗口
                chatMessages.innerHTML = '';
                
                // 显示欢迎消息
                appendMessage('bot', '你好！我是智能聊天助手。有什么我可以帮助你的吗？');
            })
            .catch(error => {
                console.error('Error:', error);
                appendMessage('bot', '抱歉，清空历史记录失败，请稍后再试。');
            });
        }
    }
    
    // 输入框获取焦点
    userInput.focus();
});